#ifndef AND_GATE_H
#define AND_GATE_H

#include "node.h"
#include "port.h"

typedef struct NodeAndGateParam
{
    int num_of_ports;
} NodeAndGateParam;

class NodeAndGate : public Node
{
public:
    List<PortInDirect<bool> *> port_and_ins;
    PortOut<bool> * port_and_out;

    NodeAndGate(Node *parent, NodeAndGateParam params);
    NodeTaskList tasks() const override;

    void task_check_all_in();
};

#endif // AND_GATE_H